iT邦幫忙

2025 iThome 鐵人賽

DAY 23
0

Hello, 各位 iT 邦幫忙 的粉絲們大家好~~~

在本系列文因為工作上的產品應用需求,進而探索到很多層面的點滴事。

透過每篇 EP 的分享把這些點滴整理,看起來或許像是個獨立的小品抒發文、也或許是一系列技術研究文!?

總之,就當作的隨手雜記文吧!

本篇是 莫名其妙就跟世界等級的 OpenSource 專案攪和了!? 系列文的 EP23。


經過 EP22 的調整處理。

把 GstreamerPlayer 的 Avalonia UI 升級到目前 (2025/10/03) 最新的 11.3.7 版本後,在其他條件都不變 (gstreamer version, gstreamer pipeline, gstreamer-sharp...等) 的情況下。

可以很明顯地看到,單一影片的整體播放效果更加的理想了。
Avalonia UI 0.9.9 vs 11.3.7
(尤其是看樹上小鳥振動翅膀的連續性即可明顯分辨)

而雖然影片的播放效果更加理想,但影片播放記憶體佔用釋放不掉的情況則是沒有什麼改善。


既然如此,直接把 .NET Runtime 從 .NET Core 3.1 換成 .NET 6 吧!(又在抱著鴕鳥心態幻想不切實際的事情了)

要針對 Avalonia UI 的 GstreamerPlayer 專案換到 .NET 6 甚至想換 .NET 10 其實一點都不難。

把該專案的專案檔打開,編輯一下 TargetFramework 的 Value 即可:
TargetFramework

當然,如果要能正確讓 Visual Studio 編譯使用對應的 .NET 版本編譯專案,是需要安裝對應版本的 .NET SDK 的。

目前電腦上有安裝什麼版本的 SDK 可以透過下列 dotnet 指令進行查看:

dotnet --info

dotnet--info

當然,原本的 gstreamer-sharp-netcore 專案的 TargetFramework 也要記得換成 .NET 6:
TargetFramework

GstreamerPlayer 執行上當然沒什麼問題:
.NET 6

按照微軟的 .NET SDK 樣式設計,從 .NET Core 3.1 架構遷移到 .NET 6 甚至即將到來的 .NET 10,就應該是這樣。
.NET 10

有關 .NET SDK 樣式設計,可參考 Microsoft Learn 官網介紹:

  1. .NET 專案 SDK:
    https://learn.microsoft.com/dotnet/core/project-sdk/overview

  2. SDK 樣式專案中的目標架構:
    https://learn.microsoft.com/dotnet/standard/frameworks#supported-target-frameworks


上一篇
EP 22
下一篇
EP 24
系列文
莫名其妙就跟世界等級的 OpenSource 專案攪和了!?25
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言